Skip to main content

Controllo del movimento dei singoli assi

Vedi il PLCopenSingle.project progetto di esempio nella directory di installazione di CODESYS sotto ..\CODESYS SoftMotion\Examples.

Questo esempio mostra come controllare un azionamento mediante blocchi funzione standardizzati PLCopen.

  1. Inserisci un'unità virtuale denominata Drive nell'albero dei dispositivi qui sotto Pool di assi generali SoftMotion.

  2. Creare un MOTION_PRG programma in ST.

    PROGRAM MOTION_PRG
    VAR
            iStatus: INT;
            Power: MC_Power;
            MoveAbsolute: MC_MoveAbsolute;
            p:REAL:=100;
    END_VAR
    
    CASE iStatus OF
    
    // initialization of the axis
    0:
            Power(Enable:=TRUE, bRegulatorOn:=TRUE, bDriveStart:=TRUE, Axis:=Drive);
            IF Power.Status THEN
                    iStatus := iStatus + 1;
            END_IF
    
    // Move the axis to position p by use of the MC_MoveAbsolute function block
    1:
            MoveAbsolute(Execute:=TRUE, Position:= p, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);
            IF MoveAbsolute.Done THEN
                    MoveAbsolute(Execute:=FALSE, Axis:=Drive);
                    iStatus := iStatus + 1;
            END_IF
    
    // Move the axis back to position 0 by use of the MC_MoveAbsolute function block:
    2:
            MoveAbsolute(Execute:=TRUE, Position:= 0, Velocity:=100, Acceleration:=100, Deceleration:=100, Axis:=Drive);
            IF MoveAbsolute.Done THEN
                    MoveAbsolute(Execute:=FALSE, Axis:=Drive);
                    iStatus := 1;
            END_IF
  3. Aggiungere la chiamata del programma MOTION_PRG al task Compito principale.

    Albero dei dispositivi:

    _sm_img_example_single_axis_2.png
  4. Scarica il progetto sul controller e avvialo.

  5. Apri il Unità asse virtuale nell'editor.

    Nel in linea parte di Generale scheda, si vede il movimento dell'asse.

    _sm_img_example_single_axis_1.png